Automatic control devices are used to control the operation of various machines and devices in a data center. In operation, some control devices output control signals, causing motors of controlled devices to turn, valves to open, or circuit boards to power up. In some instances, the system boards of the control devices may lack sufficient facilities for generating the control signals on their own. For this reason, they may use another type of control device, an interface device, to generate and receive signals on their behalf. By using specialized circuitry, the interface devices may generate signals having a specified voltage, current, frequency, or another characteristic, which other control devices cannot by themselves produce.
In general, each interface device may perform at least one of two functions. The interface device may relay control signals whose values are determined by other control devices, and also the interface device may determine the values of control signals by itself. Both functions may be implemented in software. In addition, the functions of control devices that feed control signals to the interface devices may also be implemented in software.
When software running on a control device is updated, special care needs to be taken to prevent the introduction of software bugs. Software updates, over the course of their development, may be tested for compliance with only some of many possible software versions that are running on interface devices (and other control devices) in a data center. Installing, on a control device, a software update that has not been tested for compliance with software running on an interface device connected to the control device may interfere with the proper operation of both the control device and the interface device. The interference may be due software bugs in either one of the two devices. A consequence of the interference may be a loss of control over a data center component that is controlled using the two devices.